package com.restaurant.application.indexes.genshanguserList.mysql;

import com.google.common.collect.Lists;
import com.nebutown.generation.Convert;
import com.nebutown.generation.PickableBean;
import com.nebutown.generation.basictype.UID;

import java.util.List;

public class GenShangUserListCriteria implements PickableBean {

    public static final String FN_RECORDID = "recordId";
    public static final String FN_USERUIDEQUALS = "userUidEquals";
    public static final String FN_USERUIDNOTEQUALS = "userUidNotEquals";
    public static final String FN_IDLIKE = "idLike";
    public static final String FN_IDEQUALS = "idEquals";
    public static final String FN_IDNOTEQUALS = "idNotEquals";
    public static final String FN_NUMBERLIKE = "numberLike";
    public static final String FN_NUMBEREQUALS = "numberEquals";
    public static final String FN_NUMBERNOTEQUALS = "numberNotEquals";
    public static final String FN_CREATETIMEUPPER = "createTimeUpper";
    public static final String FN_CREATETIMELOWER = "createTimeLower";
    public static final String FN_CREATETIMEEQUALS = "createTimeEquals";
    public static final String FN_CREATETIMENOTEQUALS = "createTimeNotEquals";
    public static final String FN_MODIFYTIMEUPPER = "modifyTimeUpper";
    public static final String FN_MODIFYTIMELOWER = "modifyTimeLower";
    public static final String FN_MODIFYTIMEEQUALS = "modifyTimeEquals";
    public static final String FN_MODIFYTIMENOTEQUALS = "modifyTimeNotEquals";
    public static final String FN_AVATARURLLIKE = "avatarUrlLike";
    public static final String FN_AVATARURLEQUALS = "avatarUrlEquals";
    public static final String FN_AVATARURLNOTEQUALS = "avatarUrlNotEquals";
    public static final String FN_NICKNAMELIKE = "nickNameLike";
    public static final String FN_NICKNAMEEQUALS = "nickNameEquals";
    public static final String FN_NICKNAMENOTEQUALS = "nickNameNotEquals";
    public static final String FN_REALNAMELIKE = "realNameLike";
    public static final String FN_REALNAMEEQUALS = "realNameEquals";
    public static final String FN_REALNAMENOTEQUALS = "realNameNotEquals";
    public static final String FN_GENDERLIKE = "genderLike";
    public static final String FN_GENDEREQUALS = "genderEquals";
    public static final String FN_GENDERNOTEQUALS = "genderNotEquals";
    public static final String FN_PASSWORDLIKE = "passwordLike";
    public static final String FN_PASSWORDEQUALS = "passwordEquals";
    public static final String FN_PASSWORDNOTEQUALS = "passwordNotEquals";
    public static final String FN_PHONELIKE = "phoneLike";
    public static final String FN_PHONEEQUALS = "phoneEquals";
    public static final String FN_PHONENOTEQUALS = "phoneNotEquals";
    public static final String FN_STATELIKE = "stateLike";
    public static final String FN_STATEEQUALS = "stateEquals";
    public static final String FN_STATENOTEQUALS = "stateNotEquals";

    public static final List<String> FIELD_NAMES = Lists.newArrayList(
            FN_RECORDID,
            FN_USERUIDEQUALS,
            FN_USERUIDNOTEQUALS,
            FN_IDLIKE,
            FN_IDEQUALS,
            FN_IDNOTEQUALS,
            FN_NUMBERLIKE,
            FN_NUMBEREQUALS,
            FN_NUMBERNOTEQUALS,
            FN_CREATETIMEUPPER,
            FN_CREATETIMELOWER,
            FN_CREATETIMEEQUALS,
            FN_CREATETIMENOTEQUALS,
            FN_MODIFYTIMEUPPER,
            FN_MODIFYTIMELOWER,
            FN_MODIFYTIMEEQUALS,
            FN_MODIFYTIMENOTEQUALS,
            FN_AVATARURLLIKE,
            FN_AVATARURLEQUALS,
            FN_AVATARURLNOTEQUALS,
            FN_NICKNAMELIKE,
            FN_NICKNAMEEQUALS,
            FN_NICKNAMENOTEQUALS,
            FN_REALNAMELIKE,
            FN_REALNAMEEQUALS,
            FN_REALNAMENOTEQUALS,
            FN_GENDERLIKE,
            FN_GENDEREQUALS,
            FN_GENDERNOTEQUALS,
            FN_PASSWORDLIKE,
            FN_PASSWORDEQUALS,
            FN_PASSWORDNOTEQUALS,
            FN_PHONELIKE,
            FN_PHONEEQUALS,
            FN_PHONENOTEQUALS,
            FN_STATELIKE,
            FN_STATEEQUALS,
            FN_STATENOTEQUALS);

    private Long recordId;
    private UID userUidEquals;
    private UID userUidNotEquals;
    private String idLike;
    private String idEquals;
    private String idNotEquals;
    private String numberLike;
    private String numberEquals;
    private String numberNotEquals;
    private Long createTimeUpper;
    private Long createTimeLower;
    private Long createTimeEquals;
    private Long createTimeNotEquals;
    private Long modifyTimeUpper;
    private Long modifyTimeLower;
    private Long modifyTimeEquals;
    private Long modifyTimeNotEquals;
    private String avatarUrlLike;
    private String avatarUrlEquals;
    private String avatarUrlNotEquals;
    private String nickNameLike;
    private String nickNameEquals;
    private String nickNameNotEquals;
    private String realNameLike;
    private String realNameEquals;
    private String realNameNotEquals;
    private String genderLike;
    private String genderEquals;
    private String genderNotEquals;
    private String passwordLike;
    private String passwordEquals;
    private String passwordNotEquals;
    private String phoneLike;
    private String phoneEquals;
    private String phoneNotEquals;
    private String stateLike;
    private String stateEquals;
    private String stateNotEquals;

    public GenShangUserListCriteria(Long recordId, UID userUidEquals, UID userUidNotEquals, String idLike, String idEquals, String idNotEquals, String numberLike, String numberEquals, String numberNotEquals, Long createTimeUpper, Long createTimeLower, Long createTimeEquals, Long createTimeNotEquals, Long modifyTimeUpper, Long modifyTimeLower, Long modifyTimeEquals, Long modifyTimeNotEquals, String avatarUrlLike, String avatarUrlEquals, String avatarUrlNotEquals, String nickNameLike, String nickNameEquals, String nickNameNotEquals, String realNameLike, String realNameEquals, String realNameNotEquals, String genderLike, String genderEquals, String genderNotEquals, String passwordLike, String passwordEquals, String passwordNotEquals, String phoneLike, String phoneEquals, String phoneNotEquals, String stateLike, String stateEquals, String stateNotEquals) {
        setRecordId(recordId);
        setUserUidEquals(userUidEquals);
        setUserUidNotEquals(userUidNotEquals);
        setIdLike(idLike);
        setIdEquals(idEquals);
        setIdNotEquals(idNotEquals);
        setNumberLike(numberLike);
        setNumberEquals(numberEquals);
        setNumberNotEquals(numberNotEquals);
        setCreateTimeUpper(createTimeUpper);
        setCreateTimeLower(createTimeLower);
        setCreateTimeEquals(createTimeEquals);
        setCreateTimeNotEquals(createTimeNotEquals);
        setModifyTimeUpper(modifyTimeUpper);
        setModifyTimeLower(modifyTimeLower);
        setModifyTimeEquals(modifyTimeEquals);
        setModifyTimeNotEquals(modifyTimeNotEquals);
        setAvatarUrlLike(avatarUrlLike);
        setAvatarUrlEquals(avatarUrlEquals);
        setAvatarUrlNotEquals(avatarUrlNotEquals);
        setNickNameLike(nickNameLike);
        setNickNameEquals(nickNameEquals);
        setNickNameNotEquals(nickNameNotEquals);
        setRealNameLike(realNameLike);
        setRealNameEquals(realNameEquals);
        setRealNameNotEquals(realNameNotEquals);
        setGenderLike(genderLike);
        setGenderEquals(genderEquals);
        setGenderNotEquals(genderNotEquals);
        setPasswordLike(passwordLike);
        setPasswordEquals(passwordEquals);
        setPasswordNotEquals(passwordNotEquals);
        setPhoneLike(phoneLike);
        setPhoneEquals(phoneEquals);
        setPhoneNotEquals(phoneNotEquals);
        setStateLike(stateLike);
        setStateEquals(stateEquals);
        setStateNotEquals(stateNotEquals);
    }

    public GenShangUserListCriteria() {
    }

    public GenShangUserListCriteria duplicate() {
        GenShangUserListCriteria result = new GenShangUserListCriteria();
        result.recordId = this.recordId;
        result.userUidEquals = this.userUidEquals;
        result.userUidNotEquals = this.userUidNotEquals;
        result.idLike = this.idLike;
        result.idEquals = this.idEquals;
        result.idNotEquals = this.idNotEquals;
        result.numberLike = this.numberLike;
        result.numberEquals = this.numberEquals;
        result.numberNotEquals = this.numberNotEquals;
        result.createTimeUpper = this.createTimeUpper;
        result.createTimeLower = this.createTimeLower;
        result.createTimeEquals = this.createTimeEquals;
        result.createTimeNotEquals = this.createTimeNotEquals;
        result.modifyTimeUpper = this.modifyTimeUpper;
        result.modifyTimeLower = this.modifyTimeLower;
        result.modifyTimeEquals = this.modifyTimeEquals;
        result.modifyTimeNotEquals = this.modifyTimeNotEquals;
        result.avatarUrlLike = this.avatarUrlLike;
        result.avatarUrlEquals = this.avatarUrlEquals;
        result.avatarUrlNotEquals = this.avatarUrlNotEquals;
        result.nickNameLike = this.nickNameLike;
        result.nickNameEquals = this.nickNameEquals;
        result.nickNameNotEquals = this.nickNameNotEquals;
        result.realNameLike = this.realNameLike;
        result.realNameEquals = this.realNameEquals;
        result.realNameNotEquals = this.realNameNotEquals;
        result.genderLike = this.genderLike;
        result.genderEquals = this.genderEquals;
        result.genderNotEquals = this.genderNotEquals;
        result.passwordLike = this.passwordLike;
        result.passwordEquals = this.passwordEquals;
        result.passwordNotEquals = this.passwordNotEquals;
        result.phoneLike = this.phoneLike;
        result.phoneEquals = this.phoneEquals;
        result.phoneNotEquals = this.phoneNotEquals;
        result.stateLike = this.stateLike;
        result.stateEquals = this.stateEquals;
        result.stateNotEquals = this.stateNotEquals;
        return result;
    }

    @Override
    public String toString() {
        return Convert.toJson(this);
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordId(Long value) {
        this.recordId = value;
    }

    public GenShangUserListCriteria withRecordId(Long value) {
        setRecordId(value);
        return this;
    }

    public GenShangUserListCriteria withRecordId(Long value, Long defaultValue) {
        setRecordId(value == null ? defaultValue : value);
        return this;
    }

    public UID getUserUidEquals() {
        return userUidEquals;
    }

    public void setUserUidEquals(UID value) {
        this.userUidEquals = value;
    }

    public GenShangUserListCriteria withUserUidEquals(UID value) {
        setUserUidEquals(value);
        return this;
    }

    public GenShangUserListCriteria withUserUidEquals(UID value, UID defaultValue) {
        setUserUidEquals(value == null ? defaultValue : value);
        return this;
    }

    public UID getUserUidNotEquals() {
        return userUidNotEquals;
    }

    public void setUserUidNotEquals(UID value) {
        this.userUidNotEquals = value;
    }

    public GenShangUserListCriteria withUserUidNotEquals(UID value) {
        setUserUidNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withUserUidNotEquals(UID value, UID defaultValue) {
        setUserUidNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getIdLike() {
        return idLike;
    }

    public void setIdLike(String value) {
        this.idLike = value;
    }

    public GenShangUserListCriteria withIdLike(String value) {
        setIdLike(value);
        return this;
    }

    public GenShangUserListCriteria withIdLike(String value, String defaultValue) {
        setIdLike(value == null ? defaultValue : value);
        return this;
    }

    public String getIdEquals() {
        return idEquals;
    }

    public void setIdEquals(String value) {
        this.idEquals = value;
    }

    public GenShangUserListCriteria withIdEquals(String value) {
        setIdEquals(value);
        return this;
    }

    public GenShangUserListCriteria withIdEquals(String value, String defaultValue) {
        setIdEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getIdNotEquals() {
        return idNotEquals;
    }

    public void setIdNotEquals(String value) {
        this.idNotEquals = value;
    }

    public GenShangUserListCriteria withIdNotEquals(String value) {
        setIdNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withIdNotEquals(String value, String defaultValue) {
        setIdNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNumberLike() {
        return numberLike;
    }

    public void setNumberLike(String value) {
        this.numberLike = value;
    }

    public GenShangUserListCriteria withNumberLike(String value) {
        setNumberLike(value);
        return this;
    }

    public GenShangUserListCriteria withNumberLike(String value, String defaultValue) {
        setNumberLike(value == null ? defaultValue : value);
        return this;
    }

    public String getNumberEquals() {
        return numberEquals;
    }

    public void setNumberEquals(String value) {
        this.numberEquals = value;
    }

    public GenShangUserListCriteria withNumberEquals(String value) {
        setNumberEquals(value);
        return this;
    }

    public GenShangUserListCriteria withNumberEquals(String value, String defaultValue) {
        setNumberEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNumberNotEquals() {
        return numberNotEquals;
    }

    public void setNumberNotEquals(String value) {
        this.numberNotEquals = value;
    }

    public GenShangUserListCriteria withNumberNotEquals(String value) {
        setNumberNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withNumberNotEquals(String value, String defaultValue) {
        setNumberNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeUpper() {
        return createTimeUpper;
    }

    public void setCreateTimeUpper(Long value) {
        this.createTimeUpper = value;
    }

    public GenShangUserListCriteria withCreateTimeUpper(Long value) {
        setCreateTimeUpper(value);
        return this;
    }

    public GenShangUserListCriteria withCreateTimeUpper(Long value, Long defaultValue) {
        setCreateTimeUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeLower() {
        return createTimeLower;
    }

    public void setCreateTimeLower(Long value) {
        this.createTimeLower = value;
    }

    public GenShangUserListCriteria withCreateTimeLower(Long value) {
        setCreateTimeLower(value);
        return this;
    }

    public GenShangUserListCriteria withCreateTimeLower(Long value, Long defaultValue) {
        setCreateTimeLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeEquals() {
        return createTimeEquals;
    }

    public void setCreateTimeEquals(Long value) {
        this.createTimeEquals = value;
    }

    public GenShangUserListCriteria withCreateTimeEquals(Long value) {
        setCreateTimeEquals(value);
        return this;
    }

    public GenShangUserListCriteria withCreateTimeEquals(Long value, Long defaultValue) {
        setCreateTimeEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getCreateTimeNotEquals() {
        return createTimeNotEquals;
    }

    public void setCreateTimeNotEquals(Long value) {
        this.createTimeNotEquals = value;
    }

    public GenShangUserListCriteria withCreateTimeNotEquals(Long value) {
        setCreateTimeNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withCreateTimeNotEquals(Long value, Long defaultValue) {
        setCreateTimeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeUpper() {
        return modifyTimeUpper;
    }

    public void setModifyTimeUpper(Long value) {
        this.modifyTimeUpper = value;
    }

    public GenShangUserListCriteria withModifyTimeUpper(Long value) {
        setModifyTimeUpper(value);
        return this;
    }

    public GenShangUserListCriteria withModifyTimeUpper(Long value, Long defaultValue) {
        setModifyTimeUpper(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeLower() {
        return modifyTimeLower;
    }

    public void setModifyTimeLower(Long value) {
        this.modifyTimeLower = value;
    }

    public GenShangUserListCriteria withModifyTimeLower(Long value) {
        setModifyTimeLower(value);
        return this;
    }

    public GenShangUserListCriteria withModifyTimeLower(Long value, Long defaultValue) {
        setModifyTimeLower(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeEquals() {
        return modifyTimeEquals;
    }

    public void setModifyTimeEquals(Long value) {
        this.modifyTimeEquals = value;
    }

    public GenShangUserListCriteria withModifyTimeEquals(Long value) {
        setModifyTimeEquals(value);
        return this;
    }

    public GenShangUserListCriteria withModifyTimeEquals(Long value, Long defaultValue) {
        setModifyTimeEquals(value == null ? defaultValue : value);
        return this;
    }

    public Long getModifyTimeNotEquals() {
        return modifyTimeNotEquals;
    }

    public void setModifyTimeNotEquals(Long value) {
        this.modifyTimeNotEquals = value;
    }

    public GenShangUserListCriteria withModifyTimeNotEquals(Long value) {
        setModifyTimeNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withModifyTimeNotEquals(Long value, Long defaultValue) {
        setModifyTimeNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrlLike() {
        return avatarUrlLike;
    }

    public void setAvatarUrlLike(String value) {
        this.avatarUrlLike = value;
    }

    public GenShangUserListCriteria withAvatarUrlLike(String value) {
        setAvatarUrlLike(value);
        return this;
    }

    public GenShangUserListCriteria withAvatarUrlLike(String value, String defaultValue) {
        setAvatarUrlLike(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrlEquals() {
        return avatarUrlEquals;
    }

    public void setAvatarUrlEquals(String value) {
        this.avatarUrlEquals = value;
    }

    public GenShangUserListCriteria withAvatarUrlEquals(String value) {
        setAvatarUrlEquals(value);
        return this;
    }

    public GenShangUserListCriteria withAvatarUrlEquals(String value, String defaultValue) {
        setAvatarUrlEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getAvatarUrlNotEquals() {
        return avatarUrlNotEquals;
    }

    public void setAvatarUrlNotEquals(String value) {
        this.avatarUrlNotEquals = value;
    }

    public GenShangUserListCriteria withAvatarUrlNotEquals(String value) {
        setAvatarUrlNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withAvatarUrlNotEquals(String value, String defaultValue) {
        setAvatarUrlNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNickNameLike() {
        return nickNameLike;
    }

    public void setNickNameLike(String value) {
        this.nickNameLike = value;
    }

    public GenShangUserListCriteria withNickNameLike(String value) {
        setNickNameLike(value);
        return this;
    }

    public GenShangUserListCriteria withNickNameLike(String value, String defaultValue) {
        setNickNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getNickNameEquals() {
        return nickNameEquals;
    }

    public void setNickNameEquals(String value) {
        this.nickNameEquals = value;
    }

    public GenShangUserListCriteria withNickNameEquals(String value) {
        setNickNameEquals(value);
        return this;
    }

    public GenShangUserListCriteria withNickNameEquals(String value, String defaultValue) {
        setNickNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getNickNameNotEquals() {
        return nickNameNotEquals;
    }

    public void setNickNameNotEquals(String value) {
        this.nickNameNotEquals = value;
    }

    public GenShangUserListCriteria withNickNameNotEquals(String value) {
        setNickNameNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withNickNameNotEquals(String value, String defaultValue) {
        setNickNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getRealNameLike() {
        return realNameLike;
    }

    public void setRealNameLike(String value) {
        this.realNameLike = value;
    }

    public GenShangUserListCriteria withRealNameLike(String value) {
        setRealNameLike(value);
        return this;
    }

    public GenShangUserListCriteria withRealNameLike(String value, String defaultValue) {
        setRealNameLike(value == null ? defaultValue : value);
        return this;
    }

    public String getRealNameEquals() {
        return realNameEquals;
    }

    public void setRealNameEquals(String value) {
        this.realNameEquals = value;
    }

    public GenShangUserListCriteria withRealNameEquals(String value) {
        setRealNameEquals(value);
        return this;
    }

    public GenShangUserListCriteria withRealNameEquals(String value, String defaultValue) {
        setRealNameEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getRealNameNotEquals() {
        return realNameNotEquals;
    }

    public void setRealNameNotEquals(String value) {
        this.realNameNotEquals = value;
    }

    public GenShangUserListCriteria withRealNameNotEquals(String value) {
        setRealNameNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withRealNameNotEquals(String value, String defaultValue) {
        setRealNameNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getGenderLike() {
        return genderLike;
    }

    public void setGenderLike(String value) {
        this.genderLike = value;
    }

    public GenShangUserListCriteria withGenderLike(String value) {
        setGenderLike(value);
        return this;
    }

    public GenShangUserListCriteria withGenderLike(String value, String defaultValue) {
        setGenderLike(value == null ? defaultValue : value);
        return this;
    }

    public String getGenderEquals() {
        return genderEquals;
    }

    public void setGenderEquals(String value) {
        this.genderEquals = value;
    }

    public GenShangUserListCriteria withGenderEquals(String value) {
        setGenderEquals(value);
        return this;
    }

    public GenShangUserListCriteria withGenderEquals(String value, String defaultValue) {
        setGenderEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getGenderNotEquals() {
        return genderNotEquals;
    }

    public void setGenderNotEquals(String value) {
        this.genderNotEquals = value;
    }

    public GenShangUserListCriteria withGenderNotEquals(String value) {
        setGenderNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withGenderNotEquals(String value, String defaultValue) {
        setGenderNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getPasswordLike() {
        return passwordLike;
    }

    public void setPasswordLike(String value) {
        this.passwordLike = value;
    }

    public GenShangUserListCriteria withPasswordLike(String value) {
        setPasswordLike(value);
        return this;
    }

    public GenShangUserListCriteria withPasswordLike(String value, String defaultValue) {
        setPasswordLike(value == null ? defaultValue : value);
        return this;
    }

    public String getPasswordEquals() {
        return passwordEquals;
    }

    public void setPasswordEquals(String value) {
        this.passwordEquals = value;
    }

    public GenShangUserListCriteria withPasswordEquals(String value) {
        setPasswordEquals(value);
        return this;
    }

    public GenShangUserListCriteria withPasswordEquals(String value, String defaultValue) {
        setPasswordEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getPasswordNotEquals() {
        return passwordNotEquals;
    }

    public void setPasswordNotEquals(String value) {
        this.passwordNotEquals = value;
    }

    public GenShangUserListCriteria withPasswordNotEquals(String value) {
        setPasswordNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withPasswordNotEquals(String value, String defaultValue) {
        setPasswordNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getPhoneLike() {
        return phoneLike;
    }

    public void setPhoneLike(String value) {
        this.phoneLike = value;
    }

    public GenShangUserListCriteria withPhoneLike(String value) {
        setPhoneLike(value);
        return this;
    }

    public GenShangUserListCriteria withPhoneLike(String value, String defaultValue) {
        setPhoneLike(value == null ? defaultValue : value);
        return this;
    }

    public String getPhoneEquals() {
        return phoneEquals;
    }

    public void setPhoneEquals(String value) {
        this.phoneEquals = value;
    }

    public GenShangUserListCriteria withPhoneEquals(String value) {
        setPhoneEquals(value);
        return this;
    }

    public GenShangUserListCriteria withPhoneEquals(String value, String defaultValue) {
        setPhoneEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getPhoneNotEquals() {
        return phoneNotEquals;
    }

    public void setPhoneNotEquals(String value) {
        this.phoneNotEquals = value;
    }

    public GenShangUserListCriteria withPhoneNotEquals(String value) {
        setPhoneNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withPhoneNotEquals(String value, String defaultValue) {
        setPhoneNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getStateLike() {
        return stateLike;
    }

    public void setStateLike(String value) {
        this.stateLike = value;
    }

    public GenShangUserListCriteria withStateLike(String value) {
        setStateLike(value);
        return this;
    }

    public GenShangUserListCriteria withStateLike(String value, String defaultValue) {
        setStateLike(value == null ? defaultValue : value);
        return this;
    }

    public String getStateEquals() {
        return stateEquals;
    }

    public void setStateEquals(String value) {
        this.stateEquals = value;
    }

    public GenShangUserListCriteria withStateEquals(String value) {
        setStateEquals(value);
        return this;
    }

    public GenShangUserListCriteria withStateEquals(String value, String defaultValue) {
        setStateEquals(value == null ? defaultValue : value);
        return this;
    }

    public String getStateNotEquals() {
        return stateNotEquals;
    }

    public void setStateNotEquals(String value) {
        this.stateNotEquals = value;
    }

    public GenShangUserListCriteria withStateNotEquals(String value) {
        setStateNotEquals(value);
        return this;
    }

    public GenShangUserListCriteria withStateNotEquals(String value, String defaultValue) {
        setStateNotEquals(value == null ? defaultValue : value);
        return this;
    }

    public Object getValueOf(String name) {
        switch (name) {
            case "recordId":
                return getRecordId();
            case "userUidEquals":
                return getUserUidEquals();
            case "userUidNotEquals":
                return getUserUidNotEquals();
            case "idLike":
                return getIdLike();
            case "idEquals":
                return getIdEquals();
            case "idNotEquals":
                return getIdNotEquals();
            case "numberLike":
                return getNumberLike();
            case "numberEquals":
                return getNumberEquals();
            case "numberNotEquals":
                return getNumberNotEquals();
            case "createTimeUpper":
                return getCreateTimeUpper();
            case "createTimeLower":
                return getCreateTimeLower();
            case "createTimeEquals":
                return getCreateTimeEquals();
            case "createTimeNotEquals":
                return getCreateTimeNotEquals();
            case "modifyTimeUpper":
                return getModifyTimeUpper();
            case "modifyTimeLower":
                return getModifyTimeLower();
            case "modifyTimeEquals":
                return getModifyTimeEquals();
            case "modifyTimeNotEquals":
                return getModifyTimeNotEquals();
            case "avatarUrlLike":
                return getAvatarUrlLike();
            case "avatarUrlEquals":
                return getAvatarUrlEquals();
            case "avatarUrlNotEquals":
                return getAvatarUrlNotEquals();
            case "nickNameLike":
                return getNickNameLike();
            case "nickNameEquals":
                return getNickNameEquals();
            case "nickNameNotEquals":
                return getNickNameNotEquals();
            case "realNameLike":
                return getRealNameLike();
            case "realNameEquals":
                return getRealNameEquals();
            case "realNameNotEquals":
                return getRealNameNotEquals();
            case "genderLike":
                return getGenderLike();
            case "genderEquals":
                return getGenderEquals();
            case "genderNotEquals":
                return getGenderNotEquals();
            case "passwordLike":
                return getPasswordLike();
            case "passwordEquals":
                return getPasswordEquals();
            case "passwordNotEquals":
                return getPasswordNotEquals();
            case "phoneLike":
                return getPhoneLike();
            case "phoneEquals":
                return getPhoneEquals();
            case "phoneNotEquals":
                return getPhoneNotEquals();
            case "stateLike":
                return getStateLike();
            case "stateEquals":
                return getStateEquals();
            case "stateNotEquals":
                return getStateNotEquals();
        }
        return null;
    }

    public boolean hasField(String name) {
        return FIELD_NAMES.contains(name);
    }

    @Override
    public int hashCode() {
        return signature().hashCode();
    }

    @Override
    public boolean equals(Object o) {
        if (!(o instanceof GenShangUserListCriteria)) return false;
        return signature().equals(((GenShangUserListCriteria) o).signature());
    }

    public String signature() {
        throw new RuntimeException("Bean GenShangUserListCriteria has no signature defined, no hash code or equals possible.");
    }
}
